package com.foreveross.dao;

import java.util.Date;
import java.util.List;

import com.foreveross.vo.OrderInfo;


public interface OrderInfoDAO  {	
	
	public <T extends Object> void save(T entity) throws Exception;
	
	public <T> void remove(T entity) throws Exception;

	public Object findById(Class clazz,String id) throws Exception;
	
	public Object findByIntId(Class clazz,int id) throws Exception;
		
	public <T extends Object> T updateObject(T t) throws Exception;
	
	public <T> T updateObject(T t,String id) throws Exception ;
	
	public long findOrderInfoListCount(String weixinId,String userId,String houseId,String tenementId,String businessName,
			String hrFavorableId,String payType,String payStatus,String startOrderTime,String endOrderTime,String resCode) throws Exception;
	
	public List<OrderInfo> findOrderInfoList(String weixinId,String userId,String houseId,String tenementId,String businessName,
			String hrFavorableId,String payType,String payStatus,String startOrderTime,String endOrderTime,String resCode,int pageIndex,
			int pageSize) throws Exception;
	
	public void deleteOrderInfo(String id) throws Exception;

	public long findOrderInfoListCountWithOutManager(String weixinId,
			String userId, String houseId, String tenementId,
			String businessName, String hrFavorableId, String payType,
			String payStatus, String startOrderTime, String endOrderTime,String resCode) throws Exception;
	
	public List<OrderInfo> findOrderInfoListWithOutManager(String weixinId,
			String userId, String houseId, String tenementId,
			String businessName, String hrFavorableId, String payType,
			String payStatus, String startOrderTime, String endOrderTime,String resCode,int pageIndex,
			int pageSize) throws Exception;
}